/*******************************************************************************
 * KindEditor - WYSIWYG HTML Editor for Internet
 * Copyright (C) 2006-2011 kindsoft.net
 *
 * @author Roddy <luolonghao@gmail.com>
 * @site http://www.kindsoft.net/
 * @licence http://www.kindsoft.net/license.php
 *******************************************************************************/

KindEditor.plugin("link", function(K) {
  var self = this,
    name = "link";
  self.plugin.link = {
    edit: function() {
      var lang = self.lang(name + "."),
        html =
          '<div style="padding:20px;">' +
          //url
          '<div class="ke-dialog-row">' +
          '<label for="keUrl" style="width:60px;">' +
          lang.url +
          "</label>" +
          '<input class="ke-input-text" type="text" id="keUrl" name="url" value="" style="width:260px;" /></div>' +
          //type
          '<div class="ke-dialog-row"">' +
          '<label for="keType" style="width:60px;">' +
          lang.linkType +
          "</label>" +
          '<select id="keType" name="type"></select>' +
          "</div>" +
          "</div>",
        dialog = self.createDialog({
          name: name,
          width: 450,
          title: self.lang(name),
          body: html,
          yesBtn: {
            name: self.lang("yes"),
            click: function(e) {
              var url = K.trim(urlBox.val());
              if (url == "http://" || K.invalidUrl(url)) {
                alert(self.lang("invalidUrl"));
                urlBox[0].focus();
                return;
              }
              self
                .exec("createlink", url, typeBox.val())
                .hideDialog()
                .focus();
            }
          }
        }),
        div = dialog.div,
        urlBox = K('input[name="url"]', div),
        typeBox = K('select[name="type"]', div);
      urlBox.val("http://");
      typeBox[0].options[0] = new Option(lang.newWindow, "_blank");
      typeBox[0].options[1] = new Option(lang.selfWindow, "");
      self.cmd.selection();
      var a = self.plugin.getSelectedLink();
      if (a) {
        self.cmd.range.selectNode(a[0]);
        self.cmd.select();
        urlBox.val(a.attr("data-ke-src"));
        typeBox.val(a.attr("target"));
      }
      urlBox[0].focus();
      urlBox[0].select();
    },
    delete: function() {
      self.exec("unlink", null);
    }
  };
  self.clickToolbar(name, self.plugin.link.edit);
});
